📢 Tantangan Tag Pos Gate.io: #MyFavoriteToken# Pos dan MENANG $100!
Apakah Anda memiliki token favorit yang membuat Anda bersemangat? Baik itu untuk inovasi teknis, dukungan komunitas, atau potensi pasar, ikuti acara #MyFavoriteToken# dan bagikan wawasan Anda dengan kami!
💡 Bagaimana Cara Berparti
Ekstensi Layer 2 Bitcoin: Analisis Teknis, bukti validitas, dan bukti penipuan
1 Pendahuluan
Untuk suatu Algoritme f, dua peserta yang saling tidak percaya, Alice dan Bob, dapat membangun kepercayaan dengan cara berikut:
Untuk 2, 3, dan 4 di atas, dengan x sebagai transaksi Layer2 dan status awal, f sebagai program Konsensus Layer2, dan y sebagai status akhir transaksi, ini sesuai dengan solusi ekstensi Layer2 blockchain.
Tabel 1: Metode Membangun Kepercayaan
Selain itu, perlu diperhatikan bahwa:
Saati ini, berkat Smart Contract Turing Complete Solidity, teknologi bukti penipuan dan bukti validitas telah banyak digunakan dalam perluasan Layer2 Ethereum. Namun, di bawah kerangka BTC, karena keterbatasan fungsi opcode BTC, jumlah elemen tumpukan hanya 1000, dan pembatasan lainnya, aplikasi teknologi ini masih dalam tahap eksplorasi. Artikel ini merangkum keterbatasan dan teknologi terobosan di bawah kerangka BTC, meneliti teknologi bukti validitas dan bukti penipuan, serta menggambarkan teknologi script segmentasi unik di bawah kerangka BTC.
Batasan dan Terobosan dalam Paradigma 2 BTC
Dalam kerangka BTC, ada banyak keterbatasan, tetapi keterbatasan ini dapat diatasi dengan berbagai cara atau teknologi yang cerdik. Misalnya, menggunakan Bit komitmen dapat mengatasi batasan keadaan tanpa UTXO, Taproot dapat mengatasi batasan ruang skrip, output penghubung dapat mengatasi batasan cara konsumsi UTXO, sementara Smart Contract dapat mengatasi batasan pra-tanda tangan.
2.1 Model UTXO dan Batasan Skrip
BTC menggunakan model UTXO, di mana setiap UTXO dikunci dalam sebuah skrip kunci yang mendefinisikan kondisi yang harus dipenuhi untuk menghabiskan UTXO tersebut. Ada beberapa batasan pada skrip BTC:
2.2 Komitmen Bit: Melewati Batasan Status UTXO
Saat ini, skrip BTC benar-benar tanpa status. Saat menjalankan skrip BTC, lingkungan eksekusi setiap skrip akan diatur ulang setelah selesai. Hal ini membuat skrip BTC tidak dapat mendukung skrip pembatasan 1 dan 2 yang berbagi nilai x secara alami. Namun, masalah ini dapat diatasi dengan beberapa metode, dengan ide inti adalah menandatangani suatu nilai dengan cara tertentu. Jika dapat menghasilkan tanda tangan untuk sebuah nilai, maka skrip BTC dapat memiliki status. Dengan kata lain, dengan memeriksa tanda tangan nilai x dalam skrip 1 dan 2, dapat dipastikan bahwa nilai x yang sama digunakan dalam kedua skrip tersebut. Jika terdapat tanda tangan yang bertentangan, yakni menandatangani dua nilai yang berbeda untuk variabel x yang sama, maka hukuman dapat diberlakukan. Metode ini disebut Bit komitmen.
Prinsip yang dijanjikan oleh Bit relatif sederhana. Setiap Bit sesuai dengan dua nilai hash yang berbeda, hash0 dan hash1. Jika nilai Bit yang akan ditandatangani adalah 0, maka ditunjukkan awal hash0; jika nilai Bit adalah 1, maka ditunjukkan awal hash1.
Sebagai contoh, untuk pesan Bit tunggal m ∈ {0,1}, skrip pengungkapan Bit yang sesuai hanya terdiri dari beberapa pra-gambar: jika nilai Bit adalah 0, maka skrip pengungkapan adalah preimage0 - "0xfa7fa5b1dea37d71a0b841967f6a3b119dbea140"; jika nilai Bit adalah 1, maka skrip pengungkapan adalah preimage1 - "0x47c31e611a3bd2f3a7a42207613046703fa27496". Oleh karena itu, melalui komitmen Bit, pembatasan tanpa status UTXO dapat dilanggar, mewujudkan skrip BTC berstatus, dan akhirnya memungkinkan berbagai fitur baru yang menarik.
OP_HASH160
OP_DUP
0xf592e757267b7f307324f1e78b34472f8b6f46f3> // Ini adalah hash1
OP_EQUAL
OP_DUP
OP_ROT
0x100b9f19ebd537fdc371fa1367d7ccc802dc2524> // Ini adalah hash0
OP_EQUAL
OP_BOOLOR
OP_VERIFY
// Nilai yang dijanjikan oleh Bit sekarang ada di atas tumpukan. Itu bisa berupa "0" atau "1".
Saat ini, Bit memiliki dua cara implementasi yang dijanjikan:
Saat ini, perpustakaan BitVM2 mengimplementasikan tanda tangan Winternitz berdasarkan fungsi hash Blake3. Panjang tanda tangan untuk satu Bit adalah sekitar 26 byte. Oleh karena itu, dapat dilihat bahwa memperkenalkan status melalui Bit komitmen memiliki biaya. Oleh karena itu, dalam implementasi BitVM2, pesan pertama-tama di-hash untuk mendapatkan nilai hash 256 bit, kemudian komitmen Bit dilakukan terhadap nilai hash tersebut untuk menghemat biaya, bukan langsung melakukan komitmen terhadap setiap Bit pesan asli yang lebih panjang.
2.3 Taproot:TAPROOT: Melewati Batasan Ruang Skrip
Penyempurnaan lunak Taproot BTC diaktifkan pada November 2021, termasuk tiga proposal: tanda tangan Schnorr (BIP 340), Taproot (BIP 341), dan TapScript (BIP 342). Upgrade ini memperkenalkan jenis transaksi baru - transaksi Pay-to-Taproot (P2TR). Dengan menggabungkan keunggulan Taproot, MAST (Merkel Abstract Syntax Tree), dan tanda tangan Schnorr, transaksi P2TR dapat membuat format transaksi yang lebih pribadi, fleksibel, dan dapat diperluas.
P2TR mendukung dua cara pengeluaran: melalui jalur Kunci Rahasia atau jalur skrip. Sesuai dengan aturan Taproot (BIP 341), saat melakukan pengeluaran melalui jalur skrip, panjang jalur Merkle yang sesuai tidak boleh melebihi 128. Ini berarti jumlah daun tapleaf dalam taptree tidak boleh lebih dari 2^128. Sejak peningkatan SegWit pada tahun 2017, jaringan BTC mengukur ukuran Blok dalam satuan bobot, dengan dukungan maksimal 4 juta satuan bobot (sekitar 4MB). Ketika output P2TR dikeluarkan melalui jalur skrip, hanya perlu mengungkapkan satu skrip tapleaf tunggal, yang berarti Blok hanya mengandung satu skrip tapleaf. Oleh karena itu, untuk transaksi P2TR, ukuran skrip yang sesuai dengan setiap tapleaf dapat mencapai sekitar 4MB. Namun, berdasarkan kebijakan default BTC, banyak Node hanya meneruskan transaksi yang kurang dari 400K; transaksi yang lebih besar perlu dikemas dengan kerjasama dengan Penambang.
Taproot membawa premi ruang skrip yang membuat operasi kriptografi seperti perkalian dan hash menjadi lebih berharga dengan menggunakan opcode yang ada untuk mensimulasikannya. Ketika membangun komputasi yang dapat diverifikasi berbasis P2TR, ukuran skrip tidak lagi terbatas pada 4MB, tetapi bisa dibagi menjadi beberapa subfungsi yang tersebar di banyak tapleaf, sehingga melampaui batasan 4MB ruang skrip. Secara faktual, validator Algoritme Groth16 yang diimplementasikan dalam BitVM2 saat ini memiliki ukuran hingga 2GB. Namun, itu dapat dibagi dan didistribusikan di sekitar 1000 tapleaf, dan dengan kombinasi dengan komitmen Bit, membatasi konsistensi antara input dan output setiap subfungsi, sehingga memastikan integritas dan kebenaran dari seluruh komputasi.
2.4 Output Konektor: Melewati Batasan Metode Pengeluaran UTXO
Saat ini, BTC menyediakan dua cara pengeluaran asli untuk setiap output transaksi yang belum dihabiskan (UTXO): melalui skrip atau Kunci Publik. Oleh karena itu, UTXO dapat dihabiskan asalkan memenuhi tanda tangan Kunci Publik yang benar atau kondisi skrip. Dua UTXO dapat dihabiskan secara independen, dan tidak dapat ditambahkan pembatasan untuk membatasi kedua UTXO ini, yang berarti harus memenuhi kondisi tambahan untuk dapat menghabiskannya.
Namun, pendiri Ark protokol, Burak, dengan cerdik menggunakan tanda SIGHASH untuk mengimplementasikan output penghubung. Secara khusus, Alice dapat membuat tanda tangan yang akan mengirimkan BTC-nya ke Bob. Karena tanda tangan dapat berkomitmen pada beberapa input, Alice dapat mengatur tanda tangannya sebagai kondisi: tanda tangan transaksi Taketx hanya akan valid jika input kedua dikonsumsi. Input kedua ini disebut penghubung, yang menghubungkan UTXO A dan UTXO B. Dengan kata lain, transaksi Taketx hanya akan valid jika UTXO B tidak dikonsumsi oleh transaksi Challengetx. Oleh karena itu, dengan menghancurkan output penghubung, validitas transaksi Taketx dapat dicegah.
Gambar 1: Diagram Output Konektor
Dalam protokol BitVM2, output connector berperan sebagai fungsi if...else. Begitu output connector dihabiskan oleh transaksi tertentu, output tersebut tidak dapat dihabiskan lagi oleh transaksi lain, sehingga memastikan eksklusivitasnya. Dalam implementasi nyata, untuk memungkinkan siklus tantangan-respons, ditambahkan UTXO tambahan dengan kunci waktu. Selain itu, output connector juga dapat mengatur kebijakan pengeluaran yang berbeda sesuai kebutuhan, misalnya dalam kasus transaksi tantangan memungkinkan salah satu pihak untuk mengeluarkan dana, sementara dalam kasus transaksi respons hanya operator yang diizinkan untuk mengeluarkan dana, atau memungkinkan siapa pun untuk mengeluarkan dana setelah batas waktu tertentu.
2.5 Kontrak: Melampaui Batasan Pra-Tanda Tangan
Saat ini, skrip BTC terutama membatasi kondisi yang harus dipenuhi untuk membuka kunci, tetapi tidak membatasi bagaimana output transaksi yang belum dihabiskan (UTXO) dapat digunakan lebih lanjut. Hal ini dikarenakan skrip BTC tidak dapat membaca konten transaksi itu sendiri, sehingga tidak dapat melakukan introspeksi terhadap transaksi. Jika skrip BTC dapat memeriksa konten apa pun dari transaksi (termasuk output), maka fungsi kontrak dapat diimplementasikan.
Implementasi kontrak saat ini dapat dibagi menjadi dua jenis:
3 Bitcoin Layer2 Skala: bukti validitas dan bukti penipuan
bukti validitas dan bukti penipuan dapat digunakan untuk ekstensi Layer2 BTC, perbedaan utama tercantum dalam tabel 2.
Tabel 2: Bukti validitas vs. bukti penipuan
Dengan didasarkan pada Bit, Taproot, tanda tangan pra-tanda tangan, dan output pemateri, dapat membangun bukti penipuan berdasarkan BTC. Selain itu, dengan memperkenalkan opcode kontrak (misalnya OP_CAT), juga dapat membangun bukti validitas BTC berdasarkan Taproot. Selain itu, bukti penipuan dapat dibagi menjadi bukti penipuan berizin dan bukti penipuan tanpa izin berdasarkan apakah Bob masuk ke dalam sistem. Dalam bukti penipuan berizin, hanya kelompok tertentu yang dapat menantang sebagai Bob, sementara dalam bukti penipuan tanpa izin, pihak ketiga mana pun dapat menantang sebagai Bob. Keamanan bukti penipuan tanpa izin lebih unggul daripada bukti penipuan berizin karena mengurangi risiko kolusi antara peserta.
Berdasarkan jumlah interaksi tantangan-respons antara Alice dan Bob, bukti penipuan dapat dibagi menjadi bukti penipuan satu putaran dan bukti penipuan multi-putaran, seperti yang ditunjukkan pada Gambar 2.
Gambar 2: Bukti penipuan tunggal versus bukti penipuan multipel
Seperti yang ditunjukkan dalam Tabel 3, bukti penipuan dapat diimplementasikan melalui berbagai model interaksi, termasuk model interaksi satu putaran dan model interaksi banyak putaran.
Tabel 3: Interaksi Satu Putaran dan Interaksi Berputar Banyak
Dalam paradigma perluasan Layer2 BTC, BitVM1 menggunakan mekanisme bukti penipuan multi-putaran, sedangkan BitVM2 menggunakan mekanisme bukti penipuan satu-putaran, dan bitcoin-circle stark menggunakan bukti validitas. Dalam beberapa mekanisme ini, BitVM1 dan BitVM2 dapat diimplementasikan tanpa mengubah protokol BTC, sementara bitcoin-circle stark membutuhkan pengenalan Kode Operasi OP_CAT baru.
Untuk sebagian besar tugas komputasi, signet BTC, testnet, dan mainnet tidak sepenuhnya mendukung skrip 4MB, oleh karena itu perlu menggunakan teknologi pemisahan skrip, yaitu membagi skrip komputasi lengkap menjadi blok yang lebih kecil dari 4MB dan mendistribusikannya di Tapleaf yang berbeda.
3.1 Bitcoin多轮bukti penipuan
Seperti yang ditunjukkan dalam Tabel 3, bukti penipuan multi-round cocok untuk situasi di mana ingin mengurangi perhitungan arbitrase on-chain, atau tidak dapat secara langsung mengidentifikasi segmen perhitungan masalah. Sesuai namanya, bukti penipuan multi-round memerlukan interaksi multi-round antara pihak yang memberikan bukti dan validator untuk menemukan segmen perhitungan masalah, kemudian melakukan arbitrase berdasarkan segmen-segmen tersebut.
White Paper BitVM Robin Linus sebelumnya (biasanya disebut BitVM1) menggunakan metode penipuan bukti berulang. Diasumsikan setiap periode tantangan berlangsung selama satu minggu, dan menggunakan metode pencarian biner untuk mencari segmen perhitungan masalah, periode respons tantangan on-chain validator Groth16 dapat diperpanjang hingga 30 minggu, menyebabkan kurangnya keterandalan. Meskipun saat ini ada tim yang sedang mengkaji metode pencarian n-ary yang lebih efisien daripada pencarian biner, tetapi keterandalannya masih jauh lebih rendah daripada siklus penipuan bukti tunggal selama 2 minggu.
Saat ini, tantangan izin penggunaan multi-bukti penipuan dalam BTC ditantang, sementara metode tunggal bukti penipuan telah menerapkan metode tanpa izin, sehingga mengurangi risiko kolusi antara peserta dan meningkatkan keamanan. Oleh karena itu, Robin Linus memanfaatkan keuntungan Taproot untuk mengoptimalkan BitVM1, tidak hanya mengurangi jumlah interaksi menjadi satu putaran, tetapi juga memperluas metode tantangan menjadi tanpa izin, meskipun ini meningkatkan biaya perhitungan arbitrase on-chain.
3.2 Bitcoin putaran bukti penipuan
Dalam model ini, verifikasi bukti penipuan hanya memerlukan satu kali interaksi antara validator dan verifier. Validator hanya perlu memulai satu kali tantangan, sedangkan verifier hanya perlu merespons sekali. Dalam responsnya, verifier harus menyediakan bukti untuk membuktikan bahwa perhitungannya benar. Jika validator menemukan ketidaksesuaian dalam bukti tersebut, maka tantangan berhasil; jika tidak, maka tantangan gagal. Fitur bukti penipuan interaksi tunggal seperti yang ditunjukkan dalam tabel 3.
Gambar 3: Bukti penipuan tunggal
Pada tanggal 15 Agustus 2024, Robin Linus merilis White Paper teknis BitVM2: Menghubungkan BTC ke lapisan kedua, di mana ia mengimplementasikan cross-chain bridges yang menggunakan metode bukti penipuan tunggal yang mirip dengan yang ditunjukkan pada gambar 3.
3.3 Menggunakan BTCbukti validitas OP_CAT
OP_CAT adalah bagian dari bahasa skrip BTC yang dilarang karena kerentanan keamanan pada tahun 2010. Namun demikian, komunitas BTC telah lama membahas kemungkinan untuk mengaktifkan kembali OP_CAT. Saat ini, OP_CAT telah diberi nomor 347 dan diaktifkan di jaringan signet BTC.
Fungsi utama OP_CAT adalah menggabungkan dua elemen dalam tumpukan dan mendorong hasilnya kembali ke tumpukan. Fungsi ini memberikan peluang baru bagi kontrak di BTC dan verifikator STARK.
3.4 Teknologi Pemisahan Skrip BTC
Meskipun setelah bukti SNARK/STARK, beban komputasi yang diperlukan untuk proof of validarion jauh lebih rendah dibandingkan menjalankan langsung komputasi asli f, namun jumlah skrip yang diperlukan untuk mengubahnya menjadi Algoritme verifikator BTC masih besar. Saat ini, berdasarkan opcode BTC yang ada, ukuran skrip verifikator Groth16 dan Fflonk yang dioptimalkan masing-masing melebihi 2GB, sementara ukuran satu Blok BTC hanya 4MB, sehingga tidak mungkin menjalankan seluruh skrip verifikator dalam satu Blok tunggal. Namun, sejak upgrade Taproot, BTC mendukung eksekusi skrip melalui tapleaf, yang memungkinkan skrip verifikator dibagi menjadi beberapa blok, dengan setiap blok membangun taptree sebagai tapleaf. Konsistensi antar blok dapat dijamin melalui komitmen bit.
Dalam kasus kontrak OP_CAT, validator STARK dapat dibagi menjadi beberapa transaksi standar yang lebih kecil dari 400KB, sehingga verifikasi bukti validitas STARK secara keseluruhan dapat diselesaikan tanpa perlu bekerja sama dengan Penambang .
Bagian ini akan secara khusus mengenalkan teknik pemecahan skrip BTC dalam keadaan yang ada, tanpa memperkenalkan atau mengaktifkan opcode baru.
Saat membagi skrip, perlu seimbangkan informasi dari beberapa aspek berikut:
Saat ini, metode pemecahan skrip dapat dibagi menjadi tiga kategori berikut:
Misalnya, setelah beberapa ronde optimasi, ukuran skrip validator Groth16 telah turun dari sekitar 7GB menjadi sekitar 1.26GB. Selain optimasi perhitungan secara keseluruhan, setiap blok juga dapat dioptimalkan secara individu untuk memaksimalkan penggunaan ruang tumpukan. Misalnya, dengan menggunakan algoritma tabel pencarian yang lebih efisien, serta memuat dan membuang tabel pencarian secara dinamis, ukuran skrip setiap blok dapat lebih diperkecil.
Karena biaya komputasi dan lingkungan operasional bahasa pemrograman Web2 yang berbeda jauh dengan skrip BTC, maka mentransformasikan implementasi Algoritme yang ada ke skrip BTC dengan cara yang sederhana tidaklah memungkinkan. Oleh karena itu, perlu mempertimbangkan optimasi khusus untuk skenario BTC:
4 Kesimpulan
Artikel ini pertama-tama membahas keterbatasan skrip BTC, dan membahas beberapa solusi: mengatasi keterbatasan status UTXO dengan menggunakan komitmen BTC, menggunakan Taproot untuk melewati batasan ruang skrip, mengatasi batasan metode pengeluaran UTXO dengan menghubungkan output, dan mengatasi batasan presignature dengan kontrak. Selanjutnya, artikel ini memberikan gambaran komprehensif tentang fitur bukti penipuan dan bukti validitas, termasuk karakteristik bukti penipuan berlisensi dan tanpa lisensi, perbedaan antara bukti penipuan satu putaran dan multi-putaran, serta konten terkait teknologi pemecahan skrip BTC.
Pernyataan: